home *** CD-ROM | disk | FTP | other *** search
/ Kompuutteri K-CD 2002 #1 / K-CD_2002-01.iso / Delphi / INSTALL / program files / Borland / Delphi6 / Doc / OleCtnrs.int < prev    next >
Encoding:
Text File  |  2001-05-22  |  5.7 KB  |  179 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Borland Delphi Visual Component Library         }
  5. {                                                       }
  6. {  Copyright (c) 1995-2001 Borland Software Corporation }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. (*$HPPEMIT '#include <DocObj.h>'*)
  11.  
  12. unit OleCtnrs;
  13.  
  14. {$T-,H+,X+}
  15. {$WARN SYMBOL_PLATFORM OFF}
  16.  
  17. interface
  18.  
  19. uses Windows, Messages, CommCtrl, ActiveX, OleDlg, SysUtils, Classes,
  20.   Controls, Forms, Menus, Graphics, ComObj;
  21.  
  22. const
  23.   ovShow = -1;
  24.   ovOpen = -2;
  25.   ovHide = -3;
  26.   ovUIActivate = -4;
  27.   ovInPlaceActivate = -5;
  28.   ovDiscardUndoState = -6;
  29.   ovPrimary = -65536;
  30.  
  31. type
  32.   TOleContainer = class;
  33.   TOleForm = class;
  34.  
  35.   IVCLFrameForm = interface(IOleInPlaceFrame)
  36.     ['{CD02E1C0-52DA-11D0-9EA6-0020AF3D82DA}']
  37.     procedure AddContainer(Instance: TOleContainer);
  38.     procedure RemoveContainer(Instance: TOleContainer);
  39.     procedure ClearBorderSpace;
  40.     function Form: TCustomForm;
  41.   end;
  42.  
  43.   TAutoActivate = (aaManual, aaGetFocus, aaDoubleClick);
  44.  
  45.   TSizeMode = (smClip, smCenter, smScale, smStretch, smAutoSize);
  46.  
  47.   TObjectState = (osEmpty, osLoaded, osRunning, osOpen, osInPlaceActive,
  48.     osUIActive);
  49.  
  50.   TCreateType = (ctNewObject, ctFromFile, ctLinkToFile, ctFromData,
  51.     ctLinkFromData);
  52.  
  53.   TCreateInfo = record
  54.     CreateType: TCreateType;
  55.     ShowAsIcon: Boolean;
  56.     IconMetaPict: HGlobal;
  57.     ClassID: TCLSID;
  58.     FileName: WideString;
  59.     DataObject: IDataObject;
  60.   end;
  61.  
  62.   TVerbInfo = packed record
  63.     Verb: Smallint;
  64.     Flags: Word;
  65.   end;
  66.  
  67.   TObjectMoveEvent = procedure(OleContainer: TOleContainer;
  68.     const Bounds: TRect) of object;
  69.  
  70.   TOleContainer = class(TCustomControl, IUnknown, IOleClientSite,
  71.     IOleInPlaceSite, IAdviseSink, IOleDocumentSite, IOleUIObjInfo)
  72.   protected
  73.     { IUnknown }
  74.     function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall;
  75.     function _AddRef: Integer; stdcall;
  76.     function _Release: Integer; stdcall;
  77.     procedure Changed; dynamic;
  78.     procedure CreateParams(var Params: TCreateParams); override;
  79.     procedure DblClick; override;
  80.     procedure DefineProperties(Filer: TFiler); override;
  81.     procedure DoEnter; override;
  82.     function GetPopupMenu: TPopupMenu; override;
  83.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  84.     procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
  85.       X, Y: Integer); override;
  86.     procedure Paint; override;
  87.   public
  88.     constructor Create(AOwner: TComponent); override;
  89.     destructor Destroy; override;
  90.     function ChangeIconDialog: Boolean;
  91.     procedure Close;
  92.     procedure Copy;
  93.     procedure CreateLinkToFile(const FileName: string; Iconic: Boolean);
  94.     procedure CreateObject(const OleClassName: string; Iconic: Boolean);
  95.     procedure CreateObjectFromFile(const FileName: string; Iconic: Boolean);
  96.     procedure CreateObjectFromInfo(const CreateInfo: TCreateInfo);
  97.     procedure DestroyObject;
  98.     procedure DoVerb(Verb: Integer);
  99.     function GetIconMetaPict: HGlobal;
  100.     function InsertObjectDialog: Boolean;
  101.     procedure LoadFromFile(const FileName: string);
  102.     procedure LoadFromStream(Stream: TStream);
  103.     function ObjectPropertiesDialog: Boolean;
  104.     procedure Paste;
  105.     function PasteSpecialDialog: Boolean;
  106.     procedure Run;
  107.     procedure SaveAsDocument(const FileName: string);
  108.     procedure SaveToFile(const FileName: string);
  109.     procedure SaveToStream(Stream: TStream);
  110.     procedure UpdateObject;
  111.     procedure UpdateVerbs;
  112.     property CanPaste: Boolean;
  113.     property Linked: Boolean;
  114.     property Modified: Boolean;
  115.     property NewInserted: Boolean;
  116.     property ObjectVerbs: TStrings;
  117.     property OleClassName: string;
  118.     property OleObject: Variant;
  119.     property OleObjectInterface: IOleObject;
  120.     property PrimaryVerb: Integer;
  121.     property SourceDoc: string;
  122.     property State: TObjectState;
  123.     property StorageInterface: IStorage;
  124.   published
  125.     property AllowInPlace: Boolean default True;
  126.     property AllowActiveDoc: Boolean default True;
  127.     property AutoActivate: TAutoActivate default aaDoubleClick;
  128.     property AutoVerbMenu: Boolean default True;
  129.     property Align;
  130.     property Anchors;
  131.     property BorderStyle: TBorderStyle default bsSingle;
  132.     property Caption;
  133.     property Color;
  134.     property Constraints;
  135.     property CopyOnSave: Boolean default True;
  136.     property Ctl3D;
  137.     property DragCursor;
  138.     property DragMode;
  139.     property Enabled;
  140.     property Iconic: Boolean;
  141.     property OldStreamFormat: Boolean default False;
  142.     property ParentColor default False;
  143.     property ParentCtl3D;
  144.     property ParentShowHint;
  145.     property PopupMenu;
  146.     property ShowHint;
  147.     property SizeMode: TSizeMode default smClip;
  148.     property TabOrder;
  149.     property TabStop default True;
  150.     property Visible;
  151.     property OnActivate: TNotifyEvent;
  152.     property OnDeactivate: TNotifyEvent;
  153.     property OnDragDrop;
  154.     property OnDragOver;
  155.     property OnEndDrag;
  156.     property OnEnter;
  157.     property OnExit;
  158.     property OnMouseDown;
  159.     property OnMouseMove;
  160.     property OnMouseUp;
  161.     property OnKeyDown;
  162.     property OnKeyPress;
  163.     property OnKeyUp;
  164.     property OnObjectMove: TObjectMoveEvent;
  165.     property OnResize: TNotifyEvent;
  166.     property OnStartDrag;
  167.   end;
  168.  
  169.   TOleForm = class(TInterfacedObject, IOleForm, IOleWindow, IOleInPlaceUIWindow,
  170.     IOleInPlaceFrame, IVCLFrameForm)
  171.   public
  172.     constructor Create(Form: TCustomForm);
  173.     destructor Destroy; override;
  174.   end;
  175.  
  176. procedure DestroyMetaPict(MetaPict: HGlobal);
  177.  
  178. implementation
  179.